package com.joysuch.wwyt.patrol.service;

import com.joysuch.wwyt.patrol.entity.PatrolCheckItem;
import com.joysuch.wwyt.patrol.entity.PatrolCheckPoint;
import com.joysuch.wwyt.patrol.entity.PatrolRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.joysuch.wwyt.patrol.entity.PatrolTask;
import com.joysuch.wwyt.patrol.entity.bean.StatPlanTitleSearchBean;
import com.joysuch.wwyt.patrol.entity.dto.SimplePointRecordDto;
import com.joysuch.wwyt.patrol.entity.dto.SimpleRecordResultDto;
import com.joysuch.wwyt.patrol.entity.vo.*;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author heqifeng
 * @since 2022-03-03
 */
public interface PatrolRecordService extends IService<PatrolRecord> {

    /**
     *
     * @param taskId
     * @return
     */
    List<SimplePointRecordDto> appGetPointRecord(Long taskId);

    /**
     * 根据任务id，获取该任务下已做的检查点
     * @param taskId
     * @return
     */
    List<WebTaskRecordPointVo> webGetPointRecord(Long taskId);

    List<WebTaskRecordDeviceVo> getDeviceRecordByRecordId(Long recordId);

    List<PatrolCheckPoint> getUncheckPointByTaskId(Long taskId);

    List<PatrolCheckItem> getCheckItemByPointId(Long pointId);

    List<SnapshotVo> getSnapshot(Long taskId, String checkUserNames);

    List<PointRecordVo> appGetCheckPointByTaskId(Long taskId);

    boolean deleteTaskRecord(Long taskId);

    List<SimpleRecordResultDto> getSimpleRecordsByPlanIds(List<Long> planIds, StatPlanTitleSearchBean searchBean);

    String genRecordByPoint(PatrolCheckPoint point, PatrolTask task, String s);

}
